package com.yupi.springbootinit.model.dto.processbatch;

import com.fasterxml.jackson.annotation.JsonAlias;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 版次批量新增请求
 */
@Data
public class ProcessBatchAddRequest implements Serializable {
    
    /**
     * 工艺单ID
     */
    private Long processSheetId;
    
    /**
     * 版次数量（支持batchCount别名以兼容前端）
     */
    @JsonAlias("batchCount")
    private Integer total;
    
    /**
     * 版次编码列表（可选，如不提供则自动生成A、B、C...）
     */
    private List<String> batchCodes;
    
    /**
     * 版次编码前缀（可选，用于自动生成版次编码时的前缀）
     */
    private String batchCodePrefix;
    
    /**
     * 批次数量列表（可选，与batchCodes一一对应）
     * 如果提供，数组长度必须与total相同
     * 如果不提供，则需要提供defaultQuantityPerBatch作为默认值
     */
    private List<Integer> batchQuantities;
    
    /**
     * 默认每个批次的生产数量（当batchQuantities未提供时使用）
     */
    private Integer defaultQuantityPerBatch;
}